package com.ruoyi.system.service.survey;

import com.ruoyi.system.domain.survey.SurveyInfo;

import java.util.List;

/**
 * 问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳Service接口
 * 
 * @author ruoyi
 * @date 2024-11-25
 */
public interface ISurveyInfoService 
{
    /**
     * 查询问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳
     * 
     * @param surveyId 问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳主键
     * @return 问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳
     */
    public SurveyInfo selectSurveyInfoBySurveyId(Long surveyId);

    /**
     * 查询问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳列表
     * 
     * @param surveyInfo 问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳
     * @return 问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳集合
     */
    public List<SurveyInfo> selectSurveyInfoList(SurveyInfo surveyInfo);

    /**
     * 新增问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳
     * 
     * @param surveyInfo 问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳
     * @return 结果
     */
    public int insertSurveyInfo(SurveyInfo surveyInfo);

    /**
     * 修改问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳
     * 
     * @param surveyInfo 问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳
     * @return 结果
     */
    public int updateSurveyInfo(SurveyInfo surveyInfo);

    /**
     * 批量删除问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳
     * 
     * @param surveyIds 需要删除的问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳主键集合
     * @return 结果
     */
    public int deleteSurveyInfoBySurveyIds(Long[] surveyIds);

    /**
     * 删除问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳信息
     * 
     * @param surveyId 问卷信息，存储问卷的基本信息，包括ID、标题、描述和时间戳主键
     * @return 结果
     */
    public int deleteSurveyInfoBySurveyId(Long surveyId);
}
